package com.hw.backapi.service;

import com.hw.model.common.PageInfo;
import com.hw.model.dto.PageInfoDTO;
import com.hw.model.dto.user.LoginDTO;
import com.hw.model.dto.user.UserSaveDTO;
import com.hw.model.entity.AdminPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hw.model.vo.UserInfoVO;

import java.util.HashMap;

/**
 * <p>
 * 后台用户表 服务类
 * </p>
 *
 * @author lixiaopeng
 * @since 2022-11-20
 */
public interface IAdminService extends IService<AdminPO> {

    /**
     * 登录
     * @param loginDTO
     */
    HashMap<String,Object> login(LoginDTO loginDTO) throws Exception;

    /**
     * 退出登录
     */
    void logout();

    /**
     * 获取用户信息
     * @return
     */
    UserInfoVO getUserInfo();

    /**
     * 更新用户信息
     * @param userSaveDTO
     * @return
     */
    void updateUserInfo(UserSaveDTO userSaveDTO);

    /**
     * 增加用户信息
     * @param userSaveDTO
     * @return
     */
    void addUserInfo(UserSaveDTO userSaveDTO);

    /**
     * 更新用户角色
     * @param userSaveDTO
     */
    void updateRole(UserSaveDTO userSaveDTO);

    /**
     * 获取用户分页列表
     * @return
     */
    PageInfo<UserInfoVO> getUserPageList(PageInfoDTO pageInfoDTO);

    /**
     * 删除用户
     * @param id
     * @return
     */
    void delUserInfo(Long id);
}
